package com.naiterui.ehp.bs.recommend.service;

import com.naiterui.ehp.bp.bo.recommend.RecomDiagnosisBO;
import com.naiterui.ehp.bp.bo.recommend.SuperviseDiagnosisBO;
import com.naiterui.ehp.bp.support.exception.BusinessException;
import com.naiterui.ehp.bs.recommend.vo.param.CommonDiagnosisVO;
import com.naiterui.ehp.bs.recommend.vo.param.DiagnosisVO;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;

/**
 * 自定义诊断服务
 *
 * @author chenlin
 */
public interface IDrDiagnosisService {

    /**
     * 保存导入的标准诊断
     *
     * @param file
     *
     * @throws Exception
     */
    void saveImportFile(MultipartFile file) throws Exception;

    /**
     * 常用诊断库(自定义诊断+标准诊断)使用更新
     * IDrDiagnosisService.updateCommonDiagnosis()
     *
     * @param doctorId
     * @param diagnosisList
     *
     * @return
     *
     * @throws BusinessException
     * @Author chenlin
     * @Date 2017年8月15日
     * @since 1.0.0
     */
    List<DiagnosisVO> updateCommonDiagnosis(Long doctorId, List<String> diagnosisList) throws BusinessException;

    /**
     * IDrDiagnosisService.findCommonDiagnosis()
     *
     * @param doctorId
     *
     * @return
     *
     * @throws Exception
     * @Author chenlin
     * @Date 2017年7月31日
     * @since 1.0.0
     */
    CommonDiagnosisVO findCommonDiagnosis(Long doctorId) throws Exception;


    /**
     * 获取非标准诊断
     *
     * @param diagnosisList
     *
     * @return
     *
     * @throws BusinessException
     */
    RecomDiagnosisBO getStandardDiagnosis(List<String> diagnosisList) throws BusinessException;

    List<SuperviseDiagnosisBO> diagnosiss(List<String> names);
}